///GetStorage 和Sp存储通用方法
import 'package:get/get.dart';
import 'package:manager/services/preference_service.dart';

///保存数据到硬盘
void clearData(String key) {
  Get.find<PreferenceService>().clearData(key);
}

///保存数据到硬盘
void saveData(String key, dynamic data) {
  Get.find<PreferenceService>().saveData(key, data);
}

///从被硬盘获取持久化数据
///[T] 指定获取数据类型,[defaultValue] 默认值
T getData<T>(String key, {dynamic defaultValue}) {
  return Get.find<PreferenceService>().getData(key, defaultValue: defaultValue);
}

///从被硬盘获取持久化数据
///[T] 指定获取数据类型,[defaultValue] 默认值
T? getObject<T>(String key, {dynamic defaultValue}) {
  return Get.find<PreferenceService>()
      .getObject(key, defaultValue: defaultValue);
}

///保存数据到内存
void writeData(String key, dynamic data) {
  Get.find<PreferenceService>().writeData(key, data);
}

///从内存中读取数据,返回值可为null
T? readData<T>(String key) {
  return Get.find<PreferenceService>().readData<T>(key);
}

///从内存中移除数据
void removeData(String key) {
  Get.find<PreferenceService>().removeData(key);
}

///监听[key]对应的value数据变化
void watchData<T>(String key, Function(dynamic) callBack) {
  Get.find<PreferenceService>().watchData(key, callBack);
}
